#!/opt/bin/perl5 #//////////////////////////////////////// #// MODULE de-ansify (fm) // #//////////////////////////////////////// #// IMPORTS // #//////////////////////////////////////// # require 5.001; # #//////////////////////////////////////// #// INTERFACE // #//////////////////////////////////////// # # Usage: de-ansify [ ]* # # Note that you may use wildcard characters, # since they will be expanded by your shell. # #//////////////////////////////////////// #// RESOURCES // #//////////////////////////////////////// $version = 'version 1.1'; $self = $0; $self =~ s!^.*/!!; #//////////////////////////////////////// #// IMPLEMENTATION // #//////////////////////////////////////// print "\n'$self' $version\n\n"; print "Converter for ANSI C style comments ('/* ... */')\n"; print "to non-standard C comments ('// ...')\n\n"; FILE: while (@ARGV) { $filename = shift; next FILE unless (-f $filename); unless (open(INPUT, "<$filename")) { warn "unable to read '$filename': $!\n"; next FILE; } unless (rename($filename,"$filename.bak")) { warn "unable to rename '$filename' to '$filename.bak': $!\n"; next FILE; } unless (open(OUTPUT, ">$filename")) { warn "unable to write '$filename': $!\n"; next FILE; } while () { while (m!/\*([\s*_=#+-]*[*_=#+-][\s*_=#+-]*)\*/!) { $t1 = $`; $t2 = $1; $t3 = $'; $t2 =~ s!.!/!g; $_ = "$t1//$t2//$t3"; } while (m!/\*(.*?)\*/!) { $t1 = $`; $t2 = $1; $t3 = $'; $_ = "$t1//$t2//$t3"; } print OUTPUT; } close(INPUT); close(OUTPUT); } #//////////////////////////////////////// #// PROGRAMMER Steffen Beyer // #//////////////////////////////////////// #// CREATED 06.12.95 // #//////////////////////////////////////// #// MODIFIED 09.12.95 // #//////////////////////////////////////// #// COPYRIGHT Steffen Beyer // #////////////////////////////////////////