Показать сообщение отдельно
Старый 25.05.2003, 12:25     # 11
uroboros
Guest
 
Сообщения: n/a

Великий скрипт великого Ларри Волла (Larry Wall).

Код:
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
    & eval 'exec perl -S $0 $argv:q'
    if 0;

$0 =~ s#.*/([^/]+)$#$1#;
if (@ARGV < 2)
{
    print "Usage:\n\t$0 <perl_expression> <files...>\n\n";
    print "Examples:\n";
    print "\t$0 's/\.orig\$//' *.orig\n";
    print "\t$0 'y/A-Z/a-z/ unless /^Make/' *\n";
    print "\t$0 '\$_ .= \".bad\"' *.f\n";
    print "\t$0 'print \"\$_: \"; s/foo/bar/ if <stdin> =~ /^y/i' *\n";
    exit;
}

$op = shift;
for (@ARGV)
{
    $was = $_;
    eval $op;
    die $@ if $@;
    rename($was,$_) unless $was eq $_;
}