Showing what you've tried, even unsuccessful attempts, will often help us to better help you. We can see where your thought process (via code logic) was heading and perhaps steer you on a better course. A few minor tweaks may turn "awful" into "awesome". It can also help future readers who might be trying similar things.

If you really want to see some broken code, I've got one more problem with regex for highest number; it's actually this related regex that is failing for me as it rounds the bend into double digit territory.

I have a page like a garden-variety webpage, where it's clearly not a finished product, but it won't give me a number beyond ten, using this:

sub highest_number{ use strict; use File::Basename; use Cwd; my ($aref, $filetype, $word) = @_; my $number; my @matching; my $ext = ".".$filetype; push (@matching, 0); #min returned value for my $file (@{$aref}) { #print "file is $file\n"; if ($file =~ /^$word(\d*)$ext$/){ #print "matching is $file\n"; push (@matching, $1); } } @matching = sort @matching; my $winner = pop @matching; return $winner }

Did I not promise awful? I don't even got how this code could run without a semi-colon after $winner .

But I have made progress on the central task, and thank you for your response. Until I can find a meaningful name and place for it, I have called it 1.a.pl:

$ history | tail - 10 ==> standard input <== 1987 pt 1.a.pl ... 1990 ./1.a.pl 1.k.pl 1991 rm 2.k.pl 1992 ./1.a.pl 1.k.pl 1993 file -i *.pl 1994 cat 1.manifest ... 1996 history | tail - 10 tail: cannot open '10' for reading: No such file or directory $

This is getting there:

$ cat 1.a.pl #!/usr/bin/perl -w use 5.011; use Path::Tiny; use Encode; use utf8; # a la François use open OUT => ':encoding(utf8)'; use open ':std'; # This script increments and clones the file in $1. ## enabling cyrillic ## decode argv and current say "argv is @ARGV"; foreach (@ARGV) { say "before decode is $_"; $_ = decode( 'UTF-8', $_ ); say "after decode is $_"; } my (@in_files) = @ARGV; my $current = Path::Tiny->cwd; $current = decode( 'UTF-8', $current ); say "current is $current"; say "-------------"; say "in_file: @in_files"; for (@in_files) { my $tiny_in = path($_); ## use Path::Tiny my $file_contents = $tiny_in->slurp_utf8; $_ =~ m/^(\d+)(.*)$/; my $number = $1; my $rest = $2; my $increment = $number + 1; my $new_base = $increment . $rest; say "new base is $new_base"; ## use Path::Tiny to create new file my $save_file = path( $current, $new_base )->touchpath; say "save path is $save_file"; my $return = $tiny_in->copy($save_file); $return->chmod(0755); say "return is $return"; ## write to local manifest my $manifest_name = "1.manifest"; path($manifest_name)->append_utf8( $new_base . "\n" ); system "cat $manifest_name"; system "cat $save_file"; } $

It looks like I got the spacing on the manifest file squared away:

$ cat 1.manifest 2.haukex.pl 3.haukex.pl 4.haukex.pl4.ping3a.pl5.haukex.pl5.ping3a.pl2.k.pl/n2.k.pl 3.k.pl $

In reply to Re^2: create clone script for utf8 encoding by Aldebaran
in thread create clone script for utf8 encoding by Aldebaran

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.